from flask import Flask,request
from flask_sqlalchemy import SQLAlchemy
from config import Config

app = Flask(__name__)

# 设置连接数据库的URL
app.config.from_object(Config)
db = SQLAlchemy(app)

@app.route('/show')
def show():
    return "okkk"

# 建表
class Users(db.Model):
    # 定义类对象
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    name = db.Column(db.String(64),unique=True)
    age = db.Column(db.Integer)
    # 定义列对象
    __tablename__='users'

# # 删除表
# db.drop_all()

# # 创建表
# db.create_all()

# 配operate的路由(请求方式)
@app.route('/add',methods=['POST','GET'])
def operate():
    # user = Users(name='asdasd')
    # 判断请求方式
    if request.method=='POST':
        # 接收数据
        #          获取vue传过来的数据
        # name = request.data
        #           获取postman传过来的数据
        data = request.form
        print(data)
        # 往表里添加
        user = Users(name=data['name'],age=data['age'])
        # 添加
        db.session.add(user)
        # 保存
        db.session.commit()
        return "OK"
        # 注意:增加数据,修改数据及删除数据均需要提交事务
        # 增加多条:
        # db.session.add_all([user1,user2,user3])
    else:
        # 获取出来所有的数据
        users = Users.query.all()
        list = []
        # 循环获取出来的数据
        for i in users:
            dict = {}
            dict['id']=i.id
            dict['name']=i.name
            dict['age']=i.age
            # 把获取出来的数据添加到列表
            list.append(dict)
        # 输出获取出来添加到列表的的数据
        print(list)
        return "ok"



if __name__ == '__main__':
    app.run()
